home *** CD-ROM | disk | FTP | other *** search
- // ===============================================================
- // Vertex Program: Heat Source
- // Description: outputs heat source for heatvision pass
- // Last Update: 21/10/2003
- // Coder: Tiago Sousa
- // ===============================================================
-
- #include "../CGVPMacro.csi"
-
- VertAttributes
- {
- POSITION_3
- TEXCOORD0_2
- TANG_3X3
- }
-
- MainInput
- {
- uniform float4x4 ModelViewProj,
- uniform float4 CameraPos,
- uniform float4 TexShiftRipple
- }
-
- DeclarationsScript
- {
- IN_T0_TANG
- OUT_T0_T1_T2_T3_C0
- }
-
- PositionScript = PosCommon
-
- CoreScript
- {
- OUT.Tex0.xy = IN.TexCoord0.xy;
- OUT.Tex1.xy = IN.TexCoord0.xy;
-
- TANG_MATR
-
- //float4 vHPos = mul(ModelViewProj, vPos);
- float3 lightVec = CameraPos.xyz-vPos.xyz;
- OUT.Tex2.xyz = mul(objToTangentSpace, -lightVec.xyz);
-
- float4 vHPos = mul(ModelViewProj, vPos);
- vHPos*=vHPos;
- OUT.Color.xyz=1000/vHPos.w;
- OUT.Color.w=1000/vHPos.w;
-
- vHPos = mul(ModelViewProj, vPos);
- float2 vTex=(vHPos.xy/vHPos.w + 1)*0.5;
-
- vTex.x*=20;
- //vTex.y*=0.2;
- vTex.y-=2*sin(TexShiftRipple.x*100);
- OUT.Tex3.xy = vTex.xy;
- }
-